C3 추락 메시지 未전달 조치 결과

2024. 3. 18(SW개발실)

□ 추락 메시지 未전달 원인

o ‘MQTT-Client’의 ‘client_MqttMsgPublishReceived()’ 함수에서 C3 메시지를 처리하는데,

- 기존 사용자 앱은 ‘e.Topic’에 현장명을, ‘e.Message’에 센서보드 메시지를 전달하는데,

- 신규 사용자 앱은 ‘e.Topic’에 센서보드 메시지를 전달

* 향후, 신규 사용자 앱의 MQTT 메시지 전송 코드를 기존 사용자 앱과 동일하게 수정 필요

o 또한, 전달되는 센서보드 메시지 형식도 상이

- 기존 사용자 앱(현장명;전화번호)

Q=0;1;0,100,003,AN12400003;sfuser;SF_Pangyo;01066970375;37.4116,127.0955

- 신규 사용자 앱(공백;현장명)

Q=0;1;0,100,001,AN12400003;sfuser;;SF_Pangyo;37.4116021,127.0955072

⇒ ‘MQTT-Client’는 현장명을 기준으로 전화번호를 검색하여 추락 메시지를 전송하는데, 상이한 메시지 위치 및 형식으로 인해 추락 메시지 전달 실패

□ 조치 결과

o ‘e.Topic’의 처음 2 바이트가 ‘Q=’인지를 검사하여 동일한 경우 신규 사용자 앱의 메시지인 것으로 판단

o 신규 사용자 앱의 메시지로 판단된 경우, 달라진 위치에 따라 현장명을 파싱하도록 코드 수정

* 센서보드 메시지의 전화번호를 未사용, 수정 불요

o 기존 프로그램을 ‘D:\_MQTT\2023.7.28.’ 폴더로 이동시키고, 신규 프로그램을 ‘D:\_MQTT’에 설치

⇒ 안드로이드폰의 경우 메시지가 MQTT 서버에 잘 전달되고 추락 메시지도 SMS로 잘 전송되나, 아이폰의 경우 메시지 자체가 MQTT 서버에 전달되지 않음

□ 참고 사항

o ‘MQTT-Client’를 회사내에서 실행하면, DB 검색 등은 정상 동작하나, SMS 전송 기능은 동작 불능

* 임대서버(safewaredata.co.kr)에서는 정상 동작